// TupleToObject 将元组类型转换为对象，这个对象类型的键/值和元组中的元素对应。
const tuple = ["tesla", "model 3", "model X", "model Y", 232] as const;
type TupleToObject<T extends readonly any[]> = {
  [P in T[number]]: P;
};

// typeof 用于获取变量的类型，对于元组会返回变量的类星信息
type result = TupleToObject<typeof tuple>;
// expected { 'tesla': 'tesla', 'model 3': 'model 3', 'model X': 'model X', 'model Y': 'model Y'}
